工控網首頁
>

應用設計

>

如何用軟件實現步進電機細分驅動

如何用軟件實現步進電機細分驅動

2008/11/12 9:55:00

一、引言 
        由于步進電機成本低,控制線路簡單,調試方便,所以在許多開環(huán)控制系統中得到了廣泛的應用。但是當步進電機轉子運動頻率達到其機械諧振點時,就會產生諧振和噪聲。
      為了克服機械噪聲可以改變驅動方式,步進電機的驅動方式一般分為單相激勵、兩相激勵和半步激勵等。單相激勵時雖然具有輸入功率小,溫度不會升的太高的優(yōu)點,但是由于振蕩厲害,控制不穩(wěn),所以很少采用。兩相激勵、半步激勵都可以提高平穩(wěn)度,減小機械振蕩。據此,采用細分驅動控制減小噪聲是一種比較完善和理想的解決手段。
     

 二、步進電機細分驅動原理
      所謂細分驅動就是把機械步距角細分成若干個電的步距角,當轉子從一個位置轉到下一個位置的時候,會出現一些“暫態(tài)停留點”。這樣使得電機啟動時的過調量或者停止時的過調量就會減小,電機軸的振動也會減小,使電機轉子旋轉過程變得更加平滑,更加細膩,從而減小了噪聲。
 


圖1 電機驅動示意圖
      首先介紹步進電機整步驅動,我們以兩相混合式步進電機57BYB406為例,它的步距角為1.8°。該電機有A,B兩相繞組,其中我們用C表示A通反向電流時的磁場-A,用D表示B通反向電流時的磁場-B。
      當分別給各相繞組通電時,各相繞組產生的旋轉磁場如下:僅有A相導通時,旋轉磁場指向A;僅有B相導通時,旋轉磁場指向B;僅有C相導通時,旋轉磁場指向C;僅有D相導通時,旋轉磁場指向D。依次為各相繞組通電,每切換一次,旋轉磁場矢量轉過90°,電機轉過一個步距角1.8°。當旋轉磁場矢量轉過360°時,電機轉過一個齒距,這種工作方式稱為整步工作。
      如果改變上述加電過程,采用四相八拍工作,即通電順序依次為:
    


      此工作方式稱半步工作,旋轉磁場的矢量變化如圖2所示。每改變一次通電狀態(tài),旋轉磁場的矢量轉過45°。
 


圖2 四細分驅動磁場矢量圖
      同理,旋轉磁場轉過360°,電機轉過一個齒距。
      由半步原理給予啟發(fā),如果讓旋轉磁場矢量每次轉過22.5°,這樣就實現了四細分驅動。其旋轉磁場矢量變化如圖3所示。
 


圖3 步進電機四細分驅動磁場矢量圖
      為了使電機輸出轉距大小一致,也就是使電機勻速轉動,我們控制流入A,B,C,D各相電流的大小,具體按公式sin2α+cos2α=1來計算。圖4給出了四細分驅動時各相電機輸入電流值的變換曲線。
 


圖4 四細分驅動轉距均勻輸出原理圖
     

三、細分驅動在噴膜機的應用
      1、噴膜機總體設計
      噴膜機中X方向細分驅動控制如圖5所示。這里我們采用8052微處理機,它是增強的MCS-51系列單片機,具有8K字節(jié)的ROM,256字節(jié)的RAM。8位DA轉換器AD7524通過鎖存器與單片機的數據線相連,構成步進電機的脈沖信號發(fā)生器。如果該脈沖信號驅動能力不夠大,可以在DA轉換器之后加一級放大器。產生的脈沖信號加在驅動器NJM3770的VR引腳,用來驅動步進電機。
 


圖5 噴膜機X方向控制圖
      2、脈沖分配器的設計
      在噴膜機的設計中,我們采用軟件的方法實現脈沖分配器。將電機四細分驅動脈沖數據存儲在內存中,如表1所示。當電機逆時針方向運轉時,自上而下走表索取控制量;當電機順時針方向運轉時,自下而上走表索取控制量,這樣就可以控制電機上的電流的大小。其中控制量的最高位是方向控制信號,低7位存儲電機脈沖信號的大小。
      如何實現7位數據的數模轉換呢?這里介紹兩種方法實現DA轉換。第一種方法的思想是:脈沖信號的大小用8位表示,但要求存儲的任何數據的最高位都為零,這樣就可以將DA轉換器的最高位直接接地,用最高位存儲方向控制信號。為了使存儲數據的最高位始終為零,就必須使數字信號的最大值不超過01111111,即模擬信號的大小最大為-VREF(127/256)。為了得到所需要的電壓值須將參考電壓VREF增大一倍。這樣鎖存器的最高位Q7表示方向位,接NJM3770的Phase引腳,鎖存器的Q0~Q6順次接DA轉換器的D0~D6,DA轉換器的最高位接地。
表1 電機四細分驅動脈沖數據
 


      第二種方法的思想是:數據僅用7位表示,留下一位表示方向位。在設計中使鎖存器的Q0~Q6分別接AD7524的D1~D7,AD7524的D0位接地,鎖存器的Q7接NJM3770的Phase引腳。這種方法使得實際輸出的數據與理論所需數據之間會產生誤差,誤差率為1/256。在噴膜機的設計Vr=5V,V誤差=0.0195V,由于誤差很小,不會產生很大的影響,所以采用第二種方法。查看電機的參數表得知電流值Im=0.7A,所以我們在設計當中,應該使電機中的電流不能大于0.7A。當RS=0.68Ω,VR=5V時,通過公式Im=(VR×0.080)/RS計算得到Im=0.588A,滿足設計要求。通過微調AD7524的參考電阻RREF,可以微調電機脈沖信號的大小,從而控制電機繞組上的電流值。按表1計算出四細分驅動所需要的脈沖信號的大小,A,B兩項繞組上的脈沖變化如圖6所示。由于方向控制信號由AD7524的Q7位控制,所以繞組上的電流值只表現大小。
 


圖6 A,B兩相電機脈沖時序圖
      3、保護電路的設計
      步進電機驅動器采用NJM3770,它由一個與LS-TTL兼容的邏輯輸入端,一個電流感應器,一個單穩(wěn)態(tài)多頻振蕩器,一個高壓H橋輸出端組成。具有以下特點:只能驅動步進電機的一相,半步或者全步控制,開關模式的雙極性直流驅動,電流控制范圍5~1800mA,電壓范圍10~45V,過熱保護,Phase為方向控制信號,高電平時電流自MA→MB;低電平時,電流自MB→MA。I0,I1控制電機上的電流輸出,變化情況如表2。
表2 I0,I1控制電機上的電流輸出,變化情況
 


      在驅動器的設計中,如果電機上的電流太大,電機會發(fā)熱,而且繞組上電流變化過程中會產生很大的感應電動勢,這樣就會損壞電機,所以應該具有相應的保護措施。這里可以通過控制I0,I1來控制電機上的電流大小,我們可以采用60%的電流輸出,即I0=1,I1=0。并且要設計反向電流回路,來對感應電動勢進行抑制。一般方法是采用浪涌吸收電路,最簡單的辦法就是將一個二極管與各繞組并聯,二極管的正向電壓較低,吸收效果較好,但二極管的通電時間長,不適用于高速開關電路。另外,二極管把繞組上的感應電壓直接短路,阻尼效果很強,電機的高頻特性變壞,因此這種結構限于低速運行的電路,在噴膜機的設計中,對電機的速度要求不高,因此采用這種方法。
      4、細分驅動軟件設計
      步進電機有啟動頻率和最高頻率兩個參數,為了使電機轉動更加平穩(wěn),應該有電機加速和減速程序,從而使得電機很快的到達運行頻率而且不會出現失步。四細分驅動流程圖見圖7。首先將表1放入內存中,STEPNUML,和STEPNUMH分別存放步數的低8位和高8位,PHASE是方向控制信號,R0存放表的項數。按照電機轉動方向決定R0的初始值,依次從表中讀取數值,每發(fā)送一個數據,電機走一步(0.45°),然后延時一段時間。根據延時的長短,可以控制電機的速度,連續(xù)讀取數據,電機就轉動起來了。
 


圖7 流程圖
     

四、小結
      以上詳細的介紹了步進電機四細分驅動在噴膜機中的應用,這一技術也可以推廣到其他數控裝置中,讀者也可以根據實際需要進行細分,當然分得越細,控制越復雜,硬件電路要求也<

投訴建議

提交

查看更多評論
其他資訊

查看更多

step7 v5.4 中文版.part28

step7 v5.4 中文版.part16

S7-300教學

SEE Electrical 2005B130 cn

step7 v5.4 中文版.part05